如何避免自动更改panda dataframe中的数据类型并在python中转换为CSV?
我正在尝试使用python中的pandas将Json文件转换为csv json文件数据:如何避免自动更改panda dataframe中的数据类型并在python中转换为CSV?,python,json,pandas,csv,dataframe,Python,Json,Pandas,Csv,Dataframe,我正在尝试使用python中的pandas将Json文件转换为csv json文件数据: [{ "source": "https://www.na-kd.com/en/sweaters/cardigans/button-up-ribbed-cropped-cardigan-pink", "class_ids": "3_33", "id_matrix": "0_0_0_1_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0
[{
"source": "https://www.na-kd.com/en/sweaters/cardigans/button-up-ribbed-cropped-cardigan-pink",
"class_ids": "3_33",
"id_matrix": "0_0_0_1_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_1_0_0_0_0_0_0_0_0_0_0_0_0",
"tags": "cardigan_neckline",
"front": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_01g.jpg",
"back": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_02a.jpg",
"left": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_03b.jpg",
"right": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_04c.jpg",
"zoomedin": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_05g.jpg",
"otherurl": "https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_05g.jpg"
}, {...}, {...}]
我的代码将转换为CSV文件..(但熊猫会自动更改“id_矩阵”和“class_id”的数据类型,我想更改这些列字符串..)
raw_data=pd.read_json('/home/mobin/PycharmProjects/na-kd/Jsons/mapped_improvedcheck.json')
raw_data.to_csv("csv_file/samplecheck.csv")
result = raw_data.dtypes
print(result)
print(raw_data['id_matrix'][:10])
此代码的输出:
source object
class_ids int64
id_matrix float64
tags object
front object
back object
left object
right object
zoomedin object
otherurl object
dtype: object
0 1.000000e+43
1 1.000000e+43
2 1.000000e+43
3 1.000000e+43
4 1.000000e+43
5 1.000000e+43
6 1.000000e+43
7 1.000000e+43
8 1.000000e+43
9 1.000000e+43
您可以使用熊猫的属性。数据框:
import pandas as pd
raw_data = pd.read_json('/home/mobin/PycharmProjects/na-kd/Jsons/mapped_improvedcheck.json')
raw_data2 = raw_data.astype('object')
raw_data2.to_csv('csv_file/samplecheck.csv')
result = raw_data2.dtypes
print(result)
print(raw_data2['id_matrix'][:10])
更新:我在samplecheck.csv
文件中得到的是:
,back,class_ids,front,id_matrix,left,otherurl,right,source,tags,zoomedin
0,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_02a.jpg,333,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_01g.jpg,1e+42,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_03b.jpg,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_05g.jpg,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_04c.jpg,https://www.na-kd.com/en/sweaters/cardigans/button-up-ribbed-cropped-cardigan-pink,cardigan_neckline,https://www.na-kd.com/globalassets/nakd_button_up_ribbed_cropped_cardigan_1018-004495-0211_05g.jpg
这段代码将float转换为object,但没有给出我的require输出,同时在csv中写入。您的代码输出:
source object class\u id object id\u matrix object tags object front object back object left object right object zoomedin object otherurl object dtype:对象0 1e+43 1 1e+43 2 1e+43 3 1e+43 4 1e+43 5 1e+43 6 1e+43 7 1e+43 8 1e+43 9 1e+43名称:id_矩阵,数据类型:对象