| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 catalpa-bungei 于 2023-4-7 12:19 编辑  
 
一个csv文件中的数据 
Make             Variant              Length (ft)        Geographic Region        Country/Region/State  
Beneteau        423                43                                                Alabama 
Hunter        41 DS        40                                                California 
Hunter        44 DS        44                                                California 
Jeanneau        Sun Odyssey 49 DS49                                        California 
Beneteau        First 44.7        44                                                California 
 
如何读成一个列表呢?并且最好字符串就是字符串,数字就是数字,空格就是空格,比如: 
 
[['Make','Variant'...........], 
 ['Beneteau',423,43,'','Alabama'], 
........ 
........]]
要将CSV文件读取为列表,可以使用Python的内置csv模块。以下是一个示例: 
 
- import csv
 
  
- filename = 'your_file.csv'  # 请将文件名替换为实际文件名
 
  
- with open(filename, mode='r', encoding='utf-8') as csvfile:
 
 -     csv_reader = csv.reader(csvfile)
 
 -     data = [row for row in csv_reader]
 
  
- print(data)
 
  复制代码 
 
这个示例将CSV文件读取为一个二维列表。请注意,我们需要将your_file.csv替换为实际的文件名。这个示例会将所有的数据都读取为字符串。为了将数字转换为数字类型,可以稍微修改代码: 
 
- import csv
 
  
- def convert_to_number(value):
 
 -     try:
 
 -         return int(value)
 
 -     except ValueError:
 
 -         try:
 
 -             return float(value)
 
 -         except ValueError:
 
 -             return value
 
  
- filename = 'your_file.csv'  # 请将文件名替换为实际文件名
 
  
- with open(filename, mode='r', encoding='utf-8') as csvfile:
 
 -     csv_reader = csv.reader(csvfile)
 
 -     data = []
 
 -     for row in csv_reader:
 
 -         data.append([convert_to_number(cell) for cell in row])
 
  
- print(data)
 
  复制代码 
 
这个版本的代码会尝试将每个单元格的值转换为int或float,如果不成功,则保留为字符串。这样,您将得到一个列表,其中字符串是字符串,数字是数字。 
 
 
 |   
 
 
 
 |