我有csv文件包含以下数据
val1,val2,val3
1,2,3
22,23,33
Run Code Online (Sandbox Code Playgroud)
那么如何将数据转换为dict
dict1 = { 'val1': 1, 'val2': 2, 'val3': 3}
dict2 = { 'val1': 22, 'val2': 23, 'val3': 33}
fp = open('file.csv', 'r')
reader = csv.reader(fp)
for row in reader:
????
Run Code Online (Sandbox Code Playgroud)
谢谢
Jim*_*mmy 30
import csv
reader = csv.DictReader(open('myfile.csv'))
for row in reader:
# profit !
Run Code Online (Sandbox Code Playgroud)
正如其他答案中提到的,使用“csv”的最酷的事情是它可以用于读取文件(明显的用例),但也可以解析常规的 csv 格式的字符串。
读取 csv 文件的示例:
import csv
with open('my_file.csv') as f:
for line in csv.DictReader(f, fieldnames=('val1', 'val2', 'val3')):
print(line)
Run Code Online (Sandbox Code Playgroud)
请注意,您可以显式传递您想要作为键的标头,从而可以轻松使用没有标头的 csv 文件。
另一个用例是仅读取带有“csv”的常规字符串
例子:
import csv
my_csv_string = 'val1, val2, val3'
my_csv_dict = next(csv.DictReader(StringIO(s), fieldnames=('key1', 'key2', 'key3')))
Run Code Online (Sandbox Code Playgroud)
不管怎样,csv.DictReader()就是你需要的..
| 归档时间: |
|
| 查看次数: |
22211 次 |
| 最近记录: |